package com.readExcelImage.bean;

import lombok.Data;
import org.apache.poi.openxml4j.opc.PackagePart;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

// excel 图片的文件信息 最后返回一个这样的信息
@Data
public class ExcelImageInfo {
    // 图片所在的sheet索引
    private int sheetIndex;
    // 图片所在的sheet名称
    private String sheetName;
    // 图片的ID
    private String DISPIMG_id;
    // 图片所在的位置集合.
    private List<W_Point> wPoints;
    // 图片的byte数组  todo: 这么做其实是不合理的，会有内存溢出的问题，应该使用流的方式来处理 有点多余了
    private byte[] imageData;
    // 原始图片的文件名称
    private String originFileName;
    // 图片所在excel的位置. 这是一个部分的路径，全路径需要在前面加一个 /xl/
    private String locationStr;
    // 文件的id 比如 rId1 是用来存储
    private String fileId;
    // 新的包，为了每次读取文件时获取新的文件流, 避免文件相同时使用同一个流。
    private PackagePart imagePart;

    public InputStream getNewImageInputStream() throws IOException {
        if (imagePart != null) {
            return imagePart.getInputStream();
        }
        return null;
    }
}